package org.example.studyonline.mapper;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.example.studyonline.pojo.Course;
import org.example.studyonline.pojo.DTO.CategoryCountDTO;
import org.example.studyonline.pojo.DTO.WatchCountDTO;
import org.example.studyonline.pojo.VO.CourseListVO;
import org.example.studyonline.pojo.VO.CourseVO;
import org.example.studyonline.pojo.VO.StatisticsVO;

import java.util.List;

@Mapper
public interface CourseMapper extends BaseMapper<Course> {

    IPage<CourseListVO> getCourseList(IPage<CourseListVO> page, @Param(Constants.WRAPPER) Wrapper<CourseListVO> wrapper);

    IPage<WatchCountDTO> getWatchOut(IPage<WatchCountDTO> page, @Param(Constants.WRAPPER) Wrapper<WatchCountDTO> wrapper);

    IPage<CategoryCountDTO> getCategoryCount(IPage<CategoryCountDTO> page, @Param(Constants.WRAPPER) Wrapper<CategoryCountDTO> wrapper);
}
